package com.ydcycloud.sys.util;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.junit.Test;

import com.smart.mvc.model.Pagination;

public class CommonUtil {

	/**
	 * 
	 * 删除图片（把图片从硬盘中删除）
	 * 
	 * @Description: TODO
	 * @param @param request request对象
	 * @param @param imgPath
	 *        数据库图片的路径，比如：http://192.168.3.66:8080/ykdweb/upload/share
	 *        /20170519/09040051e10968.jpg
	 * @param @return
	 * @return boolean 返回true表示删除成功，返回false表示删除失败
	 * @throws
	 * @author yzw
	 * @date 2017年5月19日
	 */
	public static boolean deleteImg(HttpServletRequest request, String imgPath) {
		String tempPath = request.getSession().getServletContext()
				.getRealPath("/");
		String projectName = request.getContextPath();
		String[] pathArr = imgPath.split(projectName + "/");
		if (pathArr != null && pathArr.length > 1) {
			tempPath += "\\" + pathArr[1];
		}
		File file = new File(tempPath);
		Boolean flag = false;
		if (file.exists() && file.isFile()) { // 判断文件是否存在
			flag = file.delete();
		} else {
			flag = false;
		}
		return flag;
	}

	/**
	 * 数据库地址http://192.168.3.152:8080/file/20170928/100536f9e7f1a5.mp4
	 * 磁盘目录c:\video
	 * @param videoPath
	 * @return
	 */
	public static boolean deleteVideo(String videoPath) {
		String tempPath = "c:\\video";
		String splitName = "file/";
		String[] pathArr = videoPath.split(splitName);
		if (pathArr != null && pathArr.length > 1) {
			tempPath += "\\" + pathArr[1];
		}
		File file = new File(tempPath);
		Boolean flag = false;
		if (file.exists() && file.isFile()) { // 判断文件是否存在
			flag = file.delete();
		} else {
			flag = false;
		}
		return flag;
	}
	
	public static Map<String,Object> PaginationToMap(Pagination<Map<String,Object>> p,String dataName){
		Map<String,Object> map = null;
		if(p != null){
			map = new HashMap<String,Object>();
			map.put("pageNo",p.getPageNo());//当前页码
			map.put("pageSize", p.getPageSize());//每页个数
			map.put("pageCount", p.getPageCount());//总页数
			map.put("rowCount", p.getRowCount());//总记录数
			map.put(dataName, p.getList());
		}
		return map;
	}
}
